/*
 * Copyright 2015 Red Hat, Inc. and/or its affiliates.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: org/drools/compiler/kie/builder/impl/kmodulecache.proto

package org.drools.compiler.kie.builder.impl;

public final class KieModuleCache {
  private KieModuleCache() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface HeaderOrBuilder extends
      com.google.protobuf.GeneratedMessage.
          ExtendableMessageOrBuilder<Header> {

    // optional .org.drools.compiler.kie.builder.impl.Version version = 1;
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    boolean hasVersion();
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.Version getVersion();
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder getVersionOrBuilder();

    // optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    boolean hasSignature();
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.Signature getSignature();
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder getSignatureOrBuilder();

    // optional bytes payload = 10;
    /**
     * <code>optional bytes payload = 10;</code>
     *
     * <pre>
     * byte blobs
     * </pre>
     */
    boolean hasPayload();
    /**
     * <code>optional bytes payload = 10;</code>
     *
     * <pre>
     * byte blobs
     * </pre>
     */
    com.google.protobuf.ByteString getPayload();
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.Header}
   */
  public static final class Header extends
      com.google.protobuf.GeneratedMessage.ExtendableMessage<
        Header> implements HeaderOrBuilder {
    // Use Header.newBuilder() to construct.
    private Header(com.google.protobuf.GeneratedMessage.ExtendableBuilder<org.drools.compiler.kie.builder.impl.KieModuleCache.Header, ?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Header(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Header defaultInstance;
    public static Header getDefaultInstance() {
      return defaultInstance;
    }

    public Header getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Header(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = version_.toBuilder();
              }
              version_ = input.readMessage(org.drools.compiler.kie.builder.impl.KieModuleCache.Version.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(version_);
                version_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
            case 34: {
              org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder subBuilder = null;
              if (((bitField0_ & 0x00000002) == 0x00000002)) {
                subBuilder = signature_.toBuilder();
              }
              signature_ = input.readMessage(org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(signature_);
                signature_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000002;
              break;
            }
            case 82: {
              bitField0_ |= 0x00000004;
              payload_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Header_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.Header.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Header.Builder.class);
    }

    public static com.google.protobuf.Parser<Header> PARSER =
        new com.google.protobuf.AbstractParser<Header>() {
      public Header parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Header(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Header> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional .org.drools.compiler.kie.builder.impl.Version version = 1;
    public static final int VERSION_FIELD_NUMBER = 1;
    private org.drools.compiler.kie.builder.impl.KieModuleCache.Version version_;
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    public boolean hasVersion() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.Version getVersion() {
      return version_;
    }
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
     *
     * <pre>
     * Drools version for which this message was created
     * </pre>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder getVersionOrBuilder() {
      return version_;
    }

    // optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;
    public static final int SIGNATURE_FIELD_NUMBER = 4;
    private org.drools.compiler.kie.builder.impl.KieModuleCache.Signature signature_;
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    public boolean hasSignature() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature getSignature() {
      return signature_;
    }
    /**
     * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
     *
     * <pre>
     * Signature to prevent security concerns
     * </pre>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder getSignatureOrBuilder() {
      return signature_;
    }

    // optional bytes payload = 10;
    public static final int PAYLOAD_FIELD_NUMBER = 10;
    private com.google.protobuf.ByteString payload_;
    /**
     * <code>optional bytes payload = 10;</code>
     *
     * <pre>
     * byte blobs
     * </pre>
     */
    public boolean hasPayload() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bytes payload = 10;</code>
     *
     * <pre>
     * byte blobs
     * </pre>
     */
    public com.google.protobuf.ByteString getPayload() {
      return payload_;
    }

    private void initFields() {
      version_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance();
      signature_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance();
      payload_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!extensionsAreInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      com.google.protobuf.GeneratedMessage
        .ExtendableMessage<org.drools.compiler.kie.builder.impl.KieModuleCache.Header>.ExtensionWriter extensionWriter =
          newExtensionWriter();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, version_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(4, signature_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(10, payload_);
      }
      extensionWriter.writeUntil(200, output);
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, version_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, signature_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(10, payload_);
      }
      size += extensionsSerializedSize();
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Header parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.Header prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.Header}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.ExtendableBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.Header, Builder> implements org.drools.compiler.kie.builder.impl.KieModuleCache.HeaderOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Header_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.Header.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Header.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.Header.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getVersionFieldBuilder();
          getSignatureFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (versionBuilder_ == null) {
          version_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance();
        } else {
          versionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (signatureBuilder_ == null) {
          signature_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance();
        } else {
          signatureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        payload_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Header getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.Header.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Header build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Header result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Header buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Header result = new org.drools.compiler.kie.builder.impl.KieModuleCache.Header(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (versionBuilder_ == null) {
          result.version_ = version_;
        } else {
          result.version_ = versionBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (signatureBuilder_ == null) {
          result.signature_ = signature_;
        } else {
          result.signature_ = signatureBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.payload_ = payload_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.Header) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.Header)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.Header other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.Header.getDefaultInstance()) return this;
        if (other.hasVersion()) {
          mergeVersion(other.getVersion());
        }
        if (other.hasSignature()) {
          mergeSignature(other.getSignature());
        }
        if (other.hasPayload()) {
          setPayload(other.getPayload());
        }
        this.mergeExtensionFields(other);
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!extensionsAreInitialized()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Header parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.Header) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .org.drools.compiler.kie.builder.impl.Version version = 1;
      private org.drools.compiler.kie.builder.impl.KieModuleCache.Version version_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.Version, org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder> versionBuilder_;
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public boolean hasVersion() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.Version getVersion() {
        if (versionBuilder_ == null) {
          return version_;
        } else {
          return versionBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public Builder setVersion(org.drools.compiler.kie.builder.impl.KieModuleCache.Version value) {
        if (versionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          version_ = value;
          onChanged();
        } else {
          versionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public Builder setVersion(
          org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder builderForValue) {
        if (versionBuilder_ == null) {
          version_ = builderForValue.build();
          onChanged();
        } else {
          versionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public Builder mergeVersion(org.drools.compiler.kie.builder.impl.KieModuleCache.Version value) {
        if (versionBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              version_ != org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance()) {
            version_ =
              org.drools.compiler.kie.builder.impl.KieModuleCache.Version.newBuilder(version_).mergeFrom(value).buildPartial();
          } else {
            version_ = value;
          }
          onChanged();
        } else {
          versionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public Builder clearVersion() {
        if (versionBuilder_ == null) {
          version_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance();
          onChanged();
        } else {
          versionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder getVersionBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getVersionFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder getVersionOrBuilder() {
        if (versionBuilder_ != null) {
          return versionBuilder_.getMessageOrBuilder();
        } else {
          return version_;
        }
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Version version = 1;</code>
       *
       * <pre>
       * Drools version for which this message was created
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.Version, org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder> 
          getVersionFieldBuilder() {
        if (versionBuilder_ == null) {
          versionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.drools.compiler.kie.builder.impl.KieModuleCache.Version, org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder>(
                  version_,
                  getParentForChildren(),
                  isClean());
          version_ = null;
        }
        return versionBuilder_;
      }

      // optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;
      private org.drools.compiler.kie.builder.impl.KieModuleCache.Signature signature_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.Signature, org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder> signatureBuilder_;
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public boolean hasSignature() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature getSignature() {
        if (signatureBuilder_ == null) {
          return signature_;
        } else {
          return signatureBuilder_.getMessage();
        }
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public Builder setSignature(org.drools.compiler.kie.builder.impl.KieModuleCache.Signature value) {
        if (signatureBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          signature_ = value;
          onChanged();
        } else {
          signatureBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public Builder setSignature(
          org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder builderForValue) {
        if (signatureBuilder_ == null) {
          signature_ = builderForValue.build();
          onChanged();
        } else {
          signatureBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public Builder mergeSignature(org.drools.compiler.kie.builder.impl.KieModuleCache.Signature value) {
        if (signatureBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              signature_ != org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance()) {
            signature_ =
              org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.newBuilder(signature_).mergeFrom(value).buildPartial();
          } else {
            signature_ = value;
          }
          onChanged();
        } else {
          signatureBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public Builder clearSignature() {
        if (signatureBuilder_ == null) {
          signature_ = org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance();
          onChanged();
        } else {
          signatureBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder getSignatureBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getSignatureFieldBuilder().getBuilder();
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder getSignatureOrBuilder() {
        if (signatureBuilder_ != null) {
          return signatureBuilder_.getMessageOrBuilder();
        } else {
          return signature_;
        }
      }
      /**
       * <code>optional .org.drools.compiler.kie.builder.impl.Signature signature = 4;</code>
       *
       * <pre>
       * Signature to prevent security concerns
       * </pre>
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.Signature, org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder> 
          getSignatureFieldBuilder() {
        if (signatureBuilder_ == null) {
          signatureBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.drools.compiler.kie.builder.impl.KieModuleCache.Signature, org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder>(
                  signature_,
                  getParentForChildren(),
                  isClean());
          signature_ = null;
        }
        return signatureBuilder_;
      }

      // optional bytes payload = 10;
      private com.google.protobuf.ByteString payload_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes payload = 10;</code>
       *
       * <pre>
       * byte blobs
       * </pre>
       */
      public boolean hasPayload() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bytes payload = 10;</code>
       *
       * <pre>
       * byte blobs
       * </pre>
       */
      public com.google.protobuf.ByteString getPayload() {
        return payload_;
      }
      /**
       * <code>optional bytes payload = 10;</code>
       *
       * <pre>
       * byte blobs
       * </pre>
       */
      public Builder setPayload(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        payload_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes payload = 10;</code>
       *
       * <pre>
       * byte blobs
       * </pre>
       */
      public Builder clearPayload() {
        bitField0_ = (bitField0_ & ~0x00000004);
        payload_ = getDefaultInstance().getPayload();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.Header)
    }

    static {
      defaultInstance = new Header(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.Header)
  }

  public interface VersionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 version_major = 1;
    /**
     * <code>optional int32 version_major = 1;</code>
     */
    boolean hasVersionMajor();
    /**
     * <code>optional int32 version_major = 1;</code>
     */
    int getVersionMajor();

    // optional int32 version_minor = 2;
    /**
     * <code>optional int32 version_minor = 2;</code>
     */
    boolean hasVersionMinor();
    /**
     * <code>optional int32 version_minor = 2;</code>
     */
    int getVersionMinor();

    // optional int32 version_revision = 3;
    /**
     * <code>optional int32 version_revision = 3;</code>
     */
    boolean hasVersionRevision();
    /**
     * <code>optional int32 version_revision = 3;</code>
     */
    int getVersionRevision();
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.Version}
   */
  public static final class Version extends
      com.google.protobuf.GeneratedMessage
      implements VersionOrBuilder {
    // Use Version.newBuilder() to construct.
    private Version(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Version(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Version defaultInstance;
    public static Version getDefaultInstance() {
      return defaultInstance;
    }

    public Version getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Version(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              versionMajor_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              versionMinor_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              versionRevision_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Version_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.Version.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder.class);
    }

    public static com.google.protobuf.Parser<Version> PARSER =
        new com.google.protobuf.AbstractParser<Version>() {
      public Version parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Version(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Version> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional int32 version_major = 1;
    public static final int VERSION_MAJOR_FIELD_NUMBER = 1;
    private int versionMajor_;
    /**
     * <code>optional int32 version_major = 1;</code>
     */
    public boolean hasVersionMajor() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 version_major = 1;</code>
     */
    public int getVersionMajor() {
      return versionMajor_;
    }

    // optional int32 version_minor = 2;
    public static final int VERSION_MINOR_FIELD_NUMBER = 2;
    private int versionMinor_;
    /**
     * <code>optional int32 version_minor = 2;</code>
     */
    public boolean hasVersionMinor() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 version_minor = 2;</code>
     */
    public int getVersionMinor() {
      return versionMinor_;
    }

    // optional int32 version_revision = 3;
    public static final int VERSION_REVISION_FIELD_NUMBER = 3;
    private int versionRevision_;
    /**
     * <code>optional int32 version_revision = 3;</code>
     */
    public boolean hasVersionRevision() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int32 version_revision = 3;</code>
     */
    public int getVersionRevision() {
      return versionRevision_;
    }

    private void initFields() {
      versionMajor_ = 0;
      versionMinor_ = 0;
      versionRevision_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, versionMajor_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, versionMinor_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, versionRevision_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, versionMajor_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, versionMinor_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, versionRevision_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Version parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.Version prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.Version}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.drools.compiler.kie.builder.impl.KieModuleCache.VersionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Version_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.Version.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Version.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.Version.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        versionMajor_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        versionMinor_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        versionRevision_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Version getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Version build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Version result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Version buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Version result = new org.drools.compiler.kie.builder.impl.KieModuleCache.Version(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.versionMajor_ = versionMajor_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.versionMinor_ = versionMinor_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.versionRevision_ = versionRevision_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.Version) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.Version)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.Version other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.Version.getDefaultInstance()) return this;
        if (other.hasVersionMajor()) {
          setVersionMajor(other.getVersionMajor());
        }
        if (other.hasVersionMinor()) {
          setVersionMinor(other.getVersionMinor());
        }
        if (other.hasVersionRevision()) {
          setVersionRevision(other.getVersionRevision());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Version parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.Version) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 version_major = 1;
      private int versionMajor_ ;
      /**
       * <code>optional int32 version_major = 1;</code>
       */
      public boolean hasVersionMajor() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 version_major = 1;</code>
       */
      public int getVersionMajor() {
        return versionMajor_;
      }
      /**
       * <code>optional int32 version_major = 1;</code>
       */
      public Builder setVersionMajor(int value) {
        bitField0_ |= 0x00000001;
        versionMajor_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 version_major = 1;</code>
       */
      public Builder clearVersionMajor() {
        bitField0_ = (bitField0_ & ~0x00000001);
        versionMajor_ = 0;
        onChanged();
        return this;
      }

      // optional int32 version_minor = 2;
      private int versionMinor_ ;
      /**
       * <code>optional int32 version_minor = 2;</code>
       */
      public boolean hasVersionMinor() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 version_minor = 2;</code>
       */
      public int getVersionMinor() {
        return versionMinor_;
      }
      /**
       * <code>optional int32 version_minor = 2;</code>
       */
      public Builder setVersionMinor(int value) {
        bitField0_ |= 0x00000002;
        versionMinor_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 version_minor = 2;</code>
       */
      public Builder clearVersionMinor() {
        bitField0_ = (bitField0_ & ~0x00000002);
        versionMinor_ = 0;
        onChanged();
        return this;
      }

      // optional int32 version_revision = 3;
      private int versionRevision_ ;
      /**
       * <code>optional int32 version_revision = 3;</code>
       */
      public boolean hasVersionRevision() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 version_revision = 3;</code>
       */
      public int getVersionRevision() {
        return versionRevision_;
      }
      /**
       * <code>optional int32 version_revision = 3;</code>
       */
      public Builder setVersionRevision(int value) {
        bitField0_ |= 0x00000004;
        versionRevision_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 version_revision = 3;</code>
       */
      public Builder clearVersionRevision() {
        bitField0_ = (bitField0_ & ~0x00000004);
        versionRevision_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.Version)
    }

    static {
      defaultInstance = new Version(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.Version)
  }

  public interface SignatureOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string key_alias = 1;
    /**
     * <code>optional string key_alias = 1;</code>
     */
    boolean hasKeyAlias();
    /**
     * <code>optional string key_alias = 1;</code>
     */
    java.lang.String getKeyAlias();
    /**
     * <code>optional string key_alias = 1;</code>
     */
    com.google.protobuf.ByteString
        getKeyAliasBytes();

    // optional bytes signature = 2;
    /**
     * <code>optional bytes signature = 2;</code>
     */
    boolean hasSignature();
    /**
     * <code>optional bytes signature = 2;</code>
     */
    com.google.protobuf.ByteString getSignature();
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.Signature}
   */
  public static final class Signature extends
      com.google.protobuf.GeneratedMessage
      implements SignatureOrBuilder {
    // Use Signature.newBuilder() to construct.
    private Signature(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private Signature(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final Signature defaultInstance;
    public static Signature getDefaultInstance() {
      return defaultInstance;
    }

    public Signature getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private Signature(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              keyAlias_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              signature_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Signature_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder.class);
    }

    public static com.google.protobuf.Parser<Signature> PARSER =
        new com.google.protobuf.AbstractParser<Signature>() {
      public Signature parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new Signature(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<Signature> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string key_alias = 1;
    public static final int KEY_ALIAS_FIELD_NUMBER = 1;
    private java.lang.Object keyAlias_;
    /**
     * <code>optional string key_alias = 1;</code>
     */
    public boolean hasKeyAlias() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string key_alias = 1;</code>
     */
    public java.lang.String getKeyAlias() {
      java.lang.Object ref = keyAlias_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          keyAlias_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string key_alias = 1;</code>
     */
    public com.google.protobuf.ByteString
        getKeyAliasBytes() {
      java.lang.Object ref = keyAlias_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        keyAlias_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bytes signature = 2;
    public static final int SIGNATURE_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString signature_;
    /**
     * <code>optional bytes signature = 2;</code>
     */
    public boolean hasSignature() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional bytes signature = 2;</code>
     */
    public com.google.protobuf.ByteString getSignature() {
      return signature_;
    }

    private void initFields() {
      keyAlias_ = "";
      signature_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getKeyAliasBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, signature_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getKeyAliasBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, signature_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.Signature prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.Signature}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.drools.compiler.kie.builder.impl.KieModuleCache.SignatureOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Signature_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.class, org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        keyAlias_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        signature_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Signature result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.Signature buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Signature result = new org.drools.compiler.kie.builder.impl.KieModuleCache.Signature(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.keyAlias_ = keyAlias_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.signature_ = signature_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.Signature) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.Signature)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.Signature other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.Signature.getDefaultInstance()) return this;
        if (other.hasKeyAlias()) {
          bitField0_ |= 0x00000001;
          keyAlias_ = other.keyAlias_;
          onChanged();
        }
        if (other.hasSignature()) {
          setSignature(other.getSignature());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.Signature parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.Signature) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string key_alias = 1;
      private java.lang.Object keyAlias_ = "";
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public boolean hasKeyAlias() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public java.lang.String getKeyAlias() {
        java.lang.Object ref = keyAlias_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          keyAlias_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public com.google.protobuf.ByteString
          getKeyAliasBytes() {
        java.lang.Object ref = keyAlias_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          keyAlias_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public Builder setKeyAlias(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        keyAlias_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public Builder clearKeyAlias() {
        bitField0_ = (bitField0_ & ~0x00000001);
        keyAlias_ = getDefaultInstance().getKeyAlias();
        onChanged();
        return this;
      }
      /**
       * <code>optional string key_alias = 1;</code>
       */
      public Builder setKeyAliasBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        keyAlias_ = value;
        onChanged();
        return this;
      }

      // optional bytes signature = 2;
      private com.google.protobuf.ByteString signature_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes signature = 2;</code>
       */
      public boolean hasSignature() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional bytes signature = 2;</code>
       */
      public com.google.protobuf.ByteString getSignature() {
        return signature_;
      }
      /**
       * <code>optional bytes signature = 2;</code>
       */
      public Builder setSignature(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        signature_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes signature = 2;</code>
       */
      public Builder clearSignature() {
        bitField0_ = (bitField0_ & ~0x00000002);
        signature_ = getDefaultInstance().getSignature();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.Signature)
    }

    static {
      defaultInstance = new Signature(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.Signature)
  }

  public interface KModuleCacheOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> 
        getCompilationDataList();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData getCompilationData(int index);
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    int getCompilationDataCount();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder> 
        getCompilationDataOrBuilderList();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder getCompilationDataOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.KModuleCache}
   */
  public static final class KModuleCache extends
      com.google.protobuf.GeneratedMessage
      implements KModuleCacheOrBuilder {
    // Use KModuleCache.newBuilder() to construct.
    private KModuleCache(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private KModuleCache(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final KModuleCache defaultInstance;
    public static KModuleCache getDefaultInstance() {
      return defaultInstance;
    }

    public KModuleCache getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private KModuleCache(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                compilationData_ = new java.util.ArrayList<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData>();
                mutable_bitField0_ |= 0x00000001;
              }
              compilationData_.add(input.readMessage(org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          compilationData_ = java.util.Collections.unmodifiableList(compilationData_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.class, org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.Builder.class);
    }

    public static com.google.protobuf.Parser<KModuleCache> PARSER =
        new com.google.protobuf.AbstractParser<KModuleCache>() {
      public KModuleCache parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new KModuleCache(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<KModuleCache> getParserForType() {
      return PARSER;
    }

    // repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;
    public static final int COMPILATION_DATA_FIELD_NUMBER = 1;
    private java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> compilationData_;
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> getCompilationDataList() {
      return compilationData_;
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    public java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder> 
        getCompilationDataOrBuilderList() {
      return compilationData_;
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    public int getCompilationDataCount() {
      return compilationData_.size();
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData getCompilationData(int index) {
      return compilationData_.get(index);
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder getCompilationDataOrBuilder(
        int index) {
      return compilationData_.get(index);
    }

    private void initFields() {
      compilationData_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < compilationData_.size(); i++) {
        output.writeMessage(1, compilationData_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < compilationData_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, compilationData_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.KModuleCache}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCacheOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.class, org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCompilationDataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (compilationDataBuilder_ == null) {
          compilationData_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          compilationDataBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache result = new org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache(this);
        int from_bitField0_ = bitField0_;
        if (compilationDataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            compilationData_ = java.util.Collections.unmodifiableList(compilationData_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.compilationData_ = compilationData_;
        } else {
          result.compilationData_ = compilationDataBuilder_.build();
        }
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache.getDefaultInstance()) return this;
        if (compilationDataBuilder_ == null) {
          if (!other.compilationData_.isEmpty()) {
            if (compilationData_.isEmpty()) {
              compilationData_ = other.compilationData_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureCompilationDataIsMutable();
              compilationData_.addAll(other.compilationData_);
            }
            onChanged();
          }
        } else {
          if (!other.compilationData_.isEmpty()) {
            if (compilationDataBuilder_.isEmpty()) {
              compilationDataBuilder_.dispose();
              compilationDataBuilder_ = null;
              compilationData_ = other.compilationData_;
              bitField0_ = (bitField0_ & ~0x00000001);
              compilationDataBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getCompilationDataFieldBuilder() : null;
            } else {
              compilationDataBuilder_.addAllMessages(other.compilationData_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.KModuleCache) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;
      private java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> compilationData_ =
        java.util.Collections.emptyList();
      private void ensureCompilationDataIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          compilationData_ = new java.util.ArrayList<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData>(compilationData_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder> compilationDataBuilder_;

      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> getCompilationDataList() {
        if (compilationDataBuilder_ == null) {
          return java.util.Collections.unmodifiableList(compilationData_);
        } else {
          return compilationDataBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public int getCompilationDataCount() {
        if (compilationDataBuilder_ == null) {
          return compilationData_.size();
        } else {
          return compilationDataBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData getCompilationData(int index) {
        if (compilationDataBuilder_ == null) {
          return compilationData_.get(index);
        } else {
          return compilationDataBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder setCompilationData(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData value) {
        if (compilationDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompilationDataIsMutable();
          compilationData_.set(index, value);
          onChanged();
        } else {
          compilationDataBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder setCompilationData(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder builderForValue) {
        if (compilationDataBuilder_ == null) {
          ensureCompilationDataIsMutable();
          compilationData_.set(index, builderForValue.build());
          onChanged();
        } else {
          compilationDataBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder addCompilationData(org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData value) {
        if (compilationDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompilationDataIsMutable();
          compilationData_.add(value);
          onChanged();
        } else {
          compilationDataBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder addCompilationData(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData value) {
        if (compilationDataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureCompilationDataIsMutable();
          compilationData_.add(index, value);
          onChanged();
        } else {
          compilationDataBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder addCompilationData(
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder builderForValue) {
        if (compilationDataBuilder_ == null) {
          ensureCompilationDataIsMutable();
          compilationData_.add(builderForValue.build());
          onChanged();
        } else {
          compilationDataBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder addCompilationData(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder builderForValue) {
        if (compilationDataBuilder_ == null) {
          ensureCompilationDataIsMutable();
          compilationData_.add(index, builderForValue.build());
          onChanged();
        } else {
          compilationDataBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder addAllCompilationData(
          java.lang.Iterable<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData> values) {
        if (compilationDataBuilder_ == null) {
          ensureCompilationDataIsMutable();
          super.addAll(values, compilationData_);
          onChanged();
        } else {
          compilationDataBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder clearCompilationData() {
        if (compilationDataBuilder_ == null) {
          compilationData_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          compilationDataBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public Builder removeCompilationData(int index) {
        if (compilationDataBuilder_ == null) {
          ensureCompilationDataIsMutable();
          compilationData_.remove(index);
          onChanged();
        } else {
          compilationDataBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder getCompilationDataBuilder(
          int index) {
        return getCompilationDataFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder getCompilationDataOrBuilder(
          int index) {
        if (compilationDataBuilder_ == null) {
          return compilationData_.get(index);  } else {
          return compilationDataBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder> 
           getCompilationDataOrBuilderList() {
        if (compilationDataBuilder_ != null) {
          return compilationDataBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(compilationData_);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder addCompilationDataBuilder() {
        return getCompilationDataFieldBuilder().addBuilder(
            org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.getDefaultInstance());
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder addCompilationDataBuilder(
          int index) {
        return getCompilationDataFieldBuilder().addBuilder(
            index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.getDefaultInstance());
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompilationData compilation_data = 1;</code>
       */
      public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder> 
           getCompilationDataBuilderList() {
        return getCompilationDataFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder> 
          getCompilationDataFieldBuilder() {
        if (compilationDataBuilder_ == null) {
          compilationDataBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder>(
                  compilationData_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          compilationData_ = null;
        }
        return compilationDataBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.KModuleCache)
    }

    static {
      defaultInstance = new KModuleCache(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.KModuleCache)
  }

  public interface CompilationDataOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string dialect = 1;
    /**
     * <code>optional string dialect = 1;</code>
     */
    boolean hasDialect();
    /**
     * <code>optional string dialect = 1;</code>
     */
    java.lang.String getDialect();
    /**
     * <code>optional string dialect = 1;</code>
     */
    com.google.protobuf.ByteString
        getDialectBytes();

    // repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> 
        getEntryList();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry getEntry(int index);
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    int getEntryCount();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder> 
        getEntryOrBuilderList();
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder getEntryOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.CompilationData}
   */
  public static final class CompilationData extends
      com.google.protobuf.GeneratedMessage
      implements CompilationDataOrBuilder {
    // Use CompilationData.newBuilder() to construct.
    private CompilationData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CompilationData(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CompilationData defaultInstance;
    public static CompilationData getDefaultInstance() {
      return defaultInstance;
    }

    public CompilationData getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CompilationData(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              dialect_ = input.readBytes();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                entry_ = new java.util.ArrayList<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry>();
                mutable_bitField0_ |= 0x00000002;
              }
              entry_.add(input.readMessage(org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.PARSER, extensionRegistry));
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          entry_ = java.util.Collections.unmodifiableList(entry_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompilationData_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.class, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder.class);
    }

    public static com.google.protobuf.Parser<CompilationData> PARSER =
        new com.google.protobuf.AbstractParser<CompilationData>() {
      public CompilationData parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CompilationData(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CompilationData> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string dialect = 1;
    public static final int DIALECT_FIELD_NUMBER = 1;
    private java.lang.Object dialect_;
    /**
     * <code>optional string dialect = 1;</code>
     */
    public boolean hasDialect() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string dialect = 1;</code>
     */
    public java.lang.String getDialect() {
      java.lang.Object ref = dialect_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          dialect_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string dialect = 1;</code>
     */
    public com.google.protobuf.ByteString
        getDialectBytes() {
      java.lang.Object ref = dialect_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        dialect_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;
    public static final int ENTRY_FIELD_NUMBER = 2;
    private java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> entry_;
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> getEntryList() {
      return entry_;
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    public java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder> 
        getEntryOrBuilderList() {
      return entry_;
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    public int getEntryCount() {
      return entry_.size();
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry getEntry(int index) {
      return entry_.get(index);
    }
    /**
     * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
     */
    public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder getEntryOrBuilder(
        int index) {
      return entry_.get(index);
    }

    private void initFields() {
      dialect_ = "";
      entry_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getDialectBytes());
      }
      for (int i = 0; i < entry_.size(); i++) {
        output.writeMessage(2, entry_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getDialectBytes());
      }
      for (int i = 0; i < entry_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, entry_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.CompilationData}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationDataOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompilationData_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.class, org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getEntryFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        dialect_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (entryBuilder_ == null) {
          entry_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          entryBuilder_.clear();
        }
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData result = new org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.dialect_ = dialect_;
        if (entryBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            entry_ = java.util.Collections.unmodifiableList(entry_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.entry_ = entry_;
        } else {
          result.entry_ = entryBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData.getDefaultInstance()) return this;
        if (other.hasDialect()) {
          bitField0_ |= 0x00000001;
          dialect_ = other.dialect_;
          onChanged();
        }
        if (entryBuilder_ == null) {
          if (!other.entry_.isEmpty()) {
            if (entry_.isEmpty()) {
              entry_ = other.entry_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureEntryIsMutable();
              entry_.addAll(other.entry_);
            }
            onChanged();
          }
        } else {
          if (!other.entry_.isEmpty()) {
            if (entryBuilder_.isEmpty()) {
              entryBuilder_.dispose();
              entryBuilder_ = null;
              entry_ = other.entry_;
              bitField0_ = (bitField0_ & ~0x00000002);
              entryBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getEntryFieldBuilder() : null;
            } else {
              entryBuilder_.addAllMessages(other.entry_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.CompilationData) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string dialect = 1;
      private java.lang.Object dialect_ = "";
      /**
       * <code>optional string dialect = 1;</code>
       */
      public boolean hasDialect() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string dialect = 1;</code>
       */
      public java.lang.String getDialect() {
        java.lang.Object ref = dialect_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          dialect_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string dialect = 1;</code>
       */
      public com.google.protobuf.ByteString
          getDialectBytes() {
        java.lang.Object ref = dialect_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          dialect_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string dialect = 1;</code>
       */
      public Builder setDialect(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        dialect_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string dialect = 1;</code>
       */
      public Builder clearDialect() {
        bitField0_ = (bitField0_ & ~0x00000001);
        dialect_ = getDefaultInstance().getDialect();
        onChanged();
        return this;
      }
      /**
       * <code>optional string dialect = 1;</code>
       */
      public Builder setDialectBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        dialect_ = value;
        onChanged();
        return this;
      }

      // repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;
      private java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> entry_ =
        java.util.Collections.emptyList();
      private void ensureEntryIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          entry_ = new java.util.ArrayList<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry>(entry_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder> entryBuilder_;

      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> getEntryList() {
        if (entryBuilder_ == null) {
          return java.util.Collections.unmodifiableList(entry_);
        } else {
          return entryBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public int getEntryCount() {
        if (entryBuilder_ == null) {
          return entry_.size();
        } else {
          return entryBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry getEntry(int index) {
        if (entryBuilder_ == null) {
          return entry_.get(index);
        } else {
          return entryBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder setEntry(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry value) {
        if (entryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntryIsMutable();
          entry_.set(index, value);
          onChanged();
        } else {
          entryBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder setEntry(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder builderForValue) {
        if (entryBuilder_ == null) {
          ensureEntryIsMutable();
          entry_.set(index, builderForValue.build());
          onChanged();
        } else {
          entryBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder addEntry(org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry value) {
        if (entryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntryIsMutable();
          entry_.add(value);
          onChanged();
        } else {
          entryBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder addEntry(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry value) {
        if (entryBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureEntryIsMutable();
          entry_.add(index, value);
          onChanged();
        } else {
          entryBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder addEntry(
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder builderForValue) {
        if (entryBuilder_ == null) {
          ensureEntryIsMutable();
          entry_.add(builderForValue.build());
          onChanged();
        } else {
          entryBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder addEntry(
          int index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder builderForValue) {
        if (entryBuilder_ == null) {
          ensureEntryIsMutable();
          entry_.add(index, builderForValue.build());
          onChanged();
        } else {
          entryBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder addAllEntry(
          java.lang.Iterable<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry> values) {
        if (entryBuilder_ == null) {
          ensureEntryIsMutable();
          super.addAll(values, entry_);
          onChanged();
        } else {
          entryBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder clearEntry() {
        if (entryBuilder_ == null) {
          entry_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          entryBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public Builder removeEntry(int index) {
        if (entryBuilder_ == null) {
          ensureEntryIsMutable();
          entry_.remove(index);
          onChanged();
        } else {
          entryBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder getEntryBuilder(
          int index) {
        return getEntryFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder getEntryOrBuilder(
          int index) {
        if (entryBuilder_ == null) {
          return entry_.get(index);  } else {
          return entryBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public java.util.List<? extends org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder> 
           getEntryOrBuilderList() {
        if (entryBuilder_ != null) {
          return entryBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(entry_);
        }
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder addEntryBuilder() {
        return getEntryFieldBuilder().addBuilder(
            org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder addEntryBuilder(
          int index) {
        return getEntryFieldBuilder().addBuilder(
            index, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.getDefaultInstance());
      }
      /**
       * <code>repeated .org.drools.compiler.kie.builder.impl.CompDataEntry entry = 2;</code>
       */
      public java.util.List<org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder> 
           getEntryBuilderList() {
        return getEntryFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder> 
          getEntryFieldBuilder() {
        if (entryBuilder_ == null) {
          entryBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder>(
                  entry_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          entry_ = null;
        }
        return entryBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.CompilationData)
    }

    static {
      defaultInstance = new CompilationData(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.CompilationData)
  }

  public interface CompDataEntryOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional string id = 1;
    /**
     * <code>optional string id = 1;</code>
     */
    boolean hasId();
    /**
     * <code>optional string id = 1;</code>
     */
    java.lang.String getId();
    /**
     * <code>optional string id = 1;</code>
     */
    com.google.protobuf.ByteString
        getIdBytes();

    // optional bytes data = 2;
    /**
     * <code>optional bytes data = 2;</code>
     */
    boolean hasData();
    /**
     * <code>optional bytes data = 2;</code>
     */
    com.google.protobuf.ByteString getData();
  }
  /**
   * Protobuf type {@code org.drools.compiler.kie.builder.impl.CompDataEntry}
   */
  public static final class CompDataEntry extends
      com.google.protobuf.GeneratedMessage
      implements CompDataEntryOrBuilder {
    // Use CompDataEntry.newBuilder() to construct.
    private CompDataEntry(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CompDataEntry(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CompDataEntry defaultInstance;
    public static CompDataEntry getDefaultInstance() {
      return defaultInstance;
    }

    public CompDataEntry getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CompDataEntry(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              id_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              data_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.class, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder.class);
    }

    public static com.google.protobuf.Parser<CompDataEntry> PARSER =
        new com.google.protobuf.AbstractParser<CompDataEntry>() {
      public CompDataEntry parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CompDataEntry(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CompDataEntry> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional string id = 1;
    public static final int ID_FIELD_NUMBER = 1;
    private java.lang.Object id_;
    /**
     * <code>optional string id = 1;</code>
     */
    public boolean hasId() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional string id = 1;</code>
     */
    public java.lang.String getId() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          id_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string id = 1;</code>
     */
    public com.google.protobuf.ByteString
        getIdBytes() {
      java.lang.Object ref = id_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        id_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    // optional bytes data = 2;
    public static final int DATA_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString data_;
    /**
     * <code>optional bytes data = 2;</code>
     */
    public boolean hasData() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional bytes data = 2;</code>
     */
    public com.google.protobuf.ByteString getData() {
      return data_;
    }

    private void initFields() {
      id_ = "";
      data_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, data_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getIdBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, data_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code org.drools.compiler.kie.builder.impl.CompDataEntry}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.class, org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.Builder.class);
      }

      // Construct using org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        id_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        data_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry getDefaultInstanceForType() {
        return org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.getDefaultInstance();
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry build() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry buildPartial() {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry result = new org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.id_ = id_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.data_ = data_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry) {
          return mergeFrom((org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry other) {
        if (other == org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry.getDefaultInstance()) return this;
        if (other.hasId()) {
          bitField0_ |= 0x00000001;
          id_ = other.id_;
          onChanged();
        }
        if (other.hasData()) {
          setData(other.getData());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.drools.compiler.kie.builder.impl.KieModuleCache.CompDataEntry) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional string id = 1;
      private java.lang.Object id_ = "";
      /**
       * <code>optional string id = 1;</code>
       */
      public boolean hasId() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          id_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder setId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder clearId() {
        bitField0_ = (bitField0_ & ~0x00000001);
        id_ = getDefaultInstance().getId();
        onChanged();
        return this;
      }
      /**
       * <code>optional string id = 1;</code>
       */
      public Builder setIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        id_ = value;
        onChanged();
        return this;
      }

      // optional bytes data = 2;
      private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes data = 2;</code>
       */
      public boolean hasData() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional bytes data = 2;</code>
       */
      public com.google.protobuf.ByteString getData() {
        return data_;
      }
      /**
       * <code>optional bytes data = 2;</code>
       */
      public Builder setData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        data_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes data = 2;</code>
       */
      public Builder clearData() {
        bitField0_ = (bitField0_ & ~0x00000002);
        data_ = getDefaultInstance().getData();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:org.drools.compiler.kie.builder.impl.CompDataEntry)
    }

    static {
      defaultInstance = new CompDataEntry(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:org.drools.compiler.kie.builder.impl.CompDataEntry)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_Header_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_Version_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_Signature_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_CompilationData_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n7org/drools/compiler/kie/builder/impl/k" +
      "modulecache.proto\022$org.drools.compiler.k" +
      "ie.builder.impl\"\244\001\n\006Header\022>\n\007version\030\001 " +
      "\001(\0132-.org.drools.compiler.kie.builder.im" +
      "pl.Version\022B\n\tsignature\030\004 \001(\0132/.org.droo" +
      "ls.compiler.kie.builder.impl.Signature\022\017" +
      "\n\007payload\030\n \001(\014*\005\010d\020\310\001\"Q\n\007Version\022\025\n\rver" +
      "sion_major\030\001 \001(\005\022\025\n\rversion_minor\030\002 \001(\005\022" +
      "\030\n\020version_revision\030\003 \001(\005\"1\n\tSignature\022\021" +
      "\n\tkey_alias\030\001 \001(\t\022\021\n\tsignature\030\002 \001(\014\"_\n\014",
      "KModuleCache\022O\n\020compilation_data\030\001 \003(\01325" +
      ".org.drools.compiler.kie.builder.impl.Co" +
      "mpilationData\"f\n\017CompilationData\022\017\n\007dial" +
      "ect\030\001 \001(\t\022B\n\005entry\030\002 \003(\01323.org.drools.co" +
      "mpiler.kie.builder.impl.CompDataEntry\")\n" +
      "\rCompDataEntry\022\n\n\002id\030\001 \001(\t\022\014\n\004data\030\002 \001(\014" +
      "B6\n$org.drools.compiler.kie.builder.impl" +
      "B\016KieModuleCache"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_org_drools_compiler_kie_builder_impl_Header_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_Header_descriptor,
              new java.lang.String[] { "Version", "Signature", "Payload", });
          internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_org_drools_compiler_kie_builder_impl_Version_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_Version_descriptor,
              new java.lang.String[] { "VersionMajor", "VersionMinor", "VersionRevision", });
          internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_org_drools_compiler_kie_builder_impl_Signature_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_Signature_descriptor,
              new java.lang.String[] { "KeyAlias", "Signature", });
          internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_KModuleCache_descriptor,
              new java.lang.String[] { "CompilationData", });
          internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_org_drools_compiler_kie_builder_impl_CompilationData_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_CompilationData_descriptor,
              new java.lang.String[] { "Dialect", "Entry", });
          internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_org_drools_compiler_kie_builder_impl_CompDataEntry_descriptor,
              new java.lang.String[] { "Id", "Data", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
